// 导入 axios 请求

import service from '@/utils/request'

// 定义 显示表单数据的类型规范

export interface trademarkListModel {
  id?: number | string
  tmName: string
  logoUrl: string
}
// 定义 data 中 的类型规范

export interface trademarkModel {
  current: number
  pages: number
  records: trademarkListModel[]
  searchCount: boolean
  size: number
  total: number // 总数据
}

// 定义接口 (全部响应体类型规范)

export interface DataModel {
  code: number
  data: trademarkModel
}
// 定义api

/**
 * @desc 获取表格数据
 * @param page 当前页码
 * @param limit 每页显示多少条数据
 * @returns Promise
 */
export const trademarkList = (page: number, limit: number) => {
  return service.get<any, DataModel>(`/admin/product/baseTrademark/${page}/${limit}`)
}

// 新增数据

// 新增和修改品牌数据的接口类型
interface TrademarkOneModel {
  code: number
  data: null
}
/**
 * @desc 用于新增和修改品牌数据
 * @param trademark 收集好的表单数据(包括内容和对应LOGOUri)
 * @returns Promise
 */
export const addTrademark = (trademark: trademarkListModel) => {
  // 判断接收到参数 (id) 是否有值
  // 如果有值 就是调用修改接口
  if (trademark.id) {
    return service.put<any, TrademarkOneModel>('/admin/product/baseTrademark/update', trademark)
  }
  // 否则就是新增接口
  return service.post<any, TrademarkOneModel>('/admin/product/baseTrademark/save', trademark)
}

// 删除数据
/**
 * @desc 用于删除品牌数据的api
 * @param id 需要删除的id参数
 * @returns Promise
 */
export const deleteTrademark = (id: number) => {
  return service.delete<any, TrademarkOneModel>(`/admin/product/baseTrademark/remove/${id}`)
}

export interface TrademarkModel {
  code: number
  data: trademarkListModel[]
}
/**
 * @desc 获取品牌信息的下拉数据
 * @returns Promise
 */
export const getTrademarkList = () => {
  return service.get<any, TrademarkModel>('/admin/product/baseTrademark/getTrademarkList')
}
